home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / source / move16v2.lha / README < prev   
Text File  |  1993-10-13  |  1KB  |  46 lines

  1. For use with SAS/C 6.3
  2. 2 source files, Move16.c and Move16_a.asm
  3.  
  4. This archive contains source and executable which demonstrates
  5. the use of the 68040 Move16 instruction on an 040 amiga.
  6. I am not sure if this instruction is safe for all amigas,
  7. but it is the fastest way to copy mem blocks on an 040
  8. machine.
  9.  
  10. You must align the src and dest on 16 byte boundaries, and
  11. on some 040's you need a NOP before each block
  12. of MOVE16's and on some 040's a page fault during a move16
  13. can cause problems, but on my A4000/040 It seems to work
  14. just fine.
  15.  
  16. If anyone knows of any problems with the Move16 instruction
  17. on the Amiga, or would like to email me the
  18. times for their systems, send me internet mail at
  19. uzun@crash.cts.com
  20. or on bix as 
  21. ruzun
  22.  
  23. This pgm has 2 copy block loops, one uses Move16's the
  24. other longword moves, it reports the time to execute
  25. each block for each mem type.
  26.  
  27. SAS/C 6.3 ASM BUG,
  28. the SAS/C Assembler cannot correctly generate the opcode
  29. for a move16 (a0)+,(a1)+, so you will see a macro which
  30. correctly generated the move16 (a0)+,(a1)+ instruction.
  31.  
  32. Results on my A4000/040 w 60ns DRAMS
  33.  
  34. **FAST TO FAST**
  35. MoveMem   = 2.2000 secs
  36. MoveMem16 = 1.5000 secs
  37. **Fast to CHIP**
  38. MoveMem   = 3.3000 secs
  39. MoveMem16 = 3.2800 secs
  40. **CHIP to Fast**
  41. MoveMem   = 4.0600 secs
  42. MoveMem16 = 3.2800 secs
  43. **CHIP to CHIP**
  44. MoveMem   = 5.1200 secs
  45. MoveMem16 = 5.1200 secs
  46.